"""
@-*- coding: utf-8 -*-
@ python: 3.12.3
@ 创建者: JacksonCode
@ 创建时间: 2025-11-04
"""
from flask import Flask
from app.extensions import db, migrate, cors, jwt


def create_app(config_name='default'):
    app = Flask(__name__)
    app.config.from_object('config.Config')

    # 初始化扩展
    db.init_app(app)
    migrate.init_app(app, db)
    cors.init_app(app)  # 允许所有域（生产环境应限制 origin）
    jwt.init_app(app)

    # 注册 API 蓝图
    from app.api.v1 import bp as api_v1_bp
    app.register_blueprint(api_v1_bp)
    
    # 注册错误处理器
    from app.api import errors
    errors.register_error_handlers(app)
    errors.register_jwt_handlers(jwt)

    return app
